With the rapid development of the Internet, the number of multimedia information based on images and video has also shown explosive growth. How to get the information you want from massive data has become a widely discussed topic in the industry and academia. A hashing technique has received extensive attention and research due to its huge advantages in both storage space and computational efficiency. As research going deepen, hash learning based on an image content focuses on converting an image into a binary code and can still effectively maintain its semantic relevance to other images. In order to solve the above problems, multiple machine learning-based hash learning algorithms have been proposed. Herein, a class of supervised image hash learning algorithms has shown better effects and has greater potential.
In general, there are two main parts of image hashing learning under a supervision framework. Firstly, an image will be expressed as a form of feature vector by a manually-designed feature descriptor. The purpose of this step is to extract the semantic information of the image in the case of noise or other redundant information of the image. Secondly, a hash learning process is expressed as an optimization problem of the distance between images, so as to maintain the semantic consistency of the images in a learned Hamming space. However, most of the learning methods split the above two processes for processing, so that the feature expression of an image cannot be optimized during the learning of a feature. At the same time, the manual design of image features requires a lot of domain knowledge, and it is difficult to effectively adapt to different application tasks. In recent years, a model called a multi-layer auto-encoder has been proposed. The model may directly obtain image features from an original image and further convert it into a binary code. However, due to its complex optimization process, it is very limited in practical applications.
On the other hand, a hashing code generated by most existing hashing learning algorithms has a fixed length. However, in an real-world application scenario, different coding lengths need to be selected according to different tasks. For example, for a device with fewer computing resources, a shorter hashing code has a more significant computational advantage. However, for high precision tasks, the possibility of selecting a longer hashing code is relatively high. In order to solve the above problem, a relatively straightforward solution is to store hash codes of different bit lengths, but this has a greater waste of learning time and storage space. Therefore, several variable-length hashing learning algorithms have been proposed successively. These methods generate a hash code bit by bit according to the importance level, bits with more importance are generated first. Therefore, a user may select a desired hashing code length from beginning to end as needed. However, these methods are usually closely linked with well-designed feature space, and their retrieval accuracy will drop sharply with the decrease of hashing code bits.